import serial
import time

# 配置串口参数
port = 'COM8'  # Windows 系统下的串口名称，Linux 系统可能是 /dev/ttyS0 或 /dev/ttyUSB0
baud_rate = 9600  # 波特率
timeout = 1  # 超时时间（秒）

# 打开串口
try:
    ser = serial.Serial(port, baud_rate, timeout=timeout)
    print(f"串口 {port} 已成功打开，波特率：{baud_rate}")
except serial.SerialException as e:
    print(f"无法打开串口 {port}：{e}")
    exit(1)

# 交互发送消息
try:
    while True:
        # 用户输入消息
        message = input("请输入要发送的消息（1: 前进, 2: 后退, 其他: 停止）：")

        # 发送消息
        ser.write(message.encode('utf-8'))
        print(f"已发送消息：{message}")

        # 读取Arduino的响应
        response = ser.readline().decode('utf-8').strip()
        print(f"收到响应：{response}")

        # 每次发送后等待1秒
        time.sleep(1)
except KeyboardInterrupt:
    print("程序已退出")
finally:
    # 关闭串口
    ser.close()
    print("串口已关闭")